package com.ruoyi.app.domain.vo;

import java.math.BigDecimal;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;


/**
 * APP商城商品视图对象 app_goods
 *
 * @author heike
 * @date 2023-02-28
 */
@Data
@ExcelIgnoreUnannotated
public class AppGoodsVo {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ExcelProperty(value = "ID")
    private Long id;

    /**
     * 商品名称
     */
    @ExcelProperty(value = "商品名称")
    private String goodsName;

    /**
     * 商品描述
     */
    @ExcelProperty(value = "商品描述")
    private String goodsDetail;

    /**
     * 商品详情
     */
    @ExcelProperty(value = "商品详情")
    private String goodsDescribe;

    /**
     * 商品库存
     */
    @ExcelProperty(value = "商品库存")
    private String goodsInventory;

    /**
     * 商品价格
     */
    @ExcelProperty(value = "商品价格")
    private BigDecimal goodsPrice;

    /**
     * 商品分类ID
     */
    @ExcelProperty(value = "商品分类ID")
    private Long classId;

    /**
     * 商品类别(0=实体商城，1=积分商城)
     */
    @ExcelProperty(value = "商品类别(0=实体商城，1=积分商城)")
    private String buyType;

    /**
     * 商品是否需要发货(0=需要，1=不需要)
     */
    @ExcelProperty(value = "商品是否需要发货(0=需要，1=不需要)")
    private String sendType;

    /**
     * 是否包邮(0=是,1=否)
     */
    @ExcelProperty(value = "是否包邮(0=是,1=否)")
    private String goodsTransfer;

    /**
     * 邮费
     */
    @ExcelProperty(value = "邮费")
    private BigDecimal transferFee;

    /**
     * 排序
     */
    @ExcelProperty(value = "排序")
    private Integer sort;

    /**
     * 图片
     */
    @ExcelProperty(value = "图片")
    private String images;

    /**
     * 状态(0=上架，1=下架)
     */
    @ExcelProperty(value = "状态(0=上架，1=下架)")
    private String status;

    /**
     * 卖出数量
     */
    @ExcelProperty(value = "卖出数量")
    private Integer sellNum;

    /**
     * 喜欢数量
     */
    @ExcelProperty(value = "喜欢数量")
    private Integer likeNum;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


    /**
     * 商品分类名称
     */
    @ExcelProperty(value = "商品分类名称")
    private String className;


    /**
     * 数量
     */
    @ExcelProperty(value = "数量")
    private Long num;

    /**
     * 商品价格
     */
    @ExcelProperty(value = "商品价格")
    private BigDecimal price;

    /**
     * 购物车ID
     */
    private Long cartId;

    /**
     * 商品详情图图片格式化
     */
    private List<HashMap<String, Object>> goodsDescribeImages;

    /**
     * 商品评论列表
     */
    private List<AppGoodsCommentVo> commentVo;

    /**
     * 商品主图
     */
    private String mainImage;

    /**
     * 当前用户是否喜欢了商品
     * true 已点赞
     * false 未点赞
     */
    private Boolean userLike = false;
}
